-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TrackをModelに切り出し、ソートを可能にする #128
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ご対応ありがとうございます!
このPRでは、モデルに置き換えるまでで、実際にソートする機能は別PRで対応するものと理解しました!
念のため以下の動作確認をしました!
- スケジュールを表示できること
- 視聴予定にスケジュールを追加できること
- 視聴予定からスケジュールを削除できること
@@ -5,7 +5,7 @@ class Table | |||
attr_reader :track_list, :rows | |||
|
|||
def initialize(schedules) | |||
@track_list = schedules.map(&:track_name).sort.uniq | |||
@track_list = schedules.map(&:track).uniq.sort_by(&:position).map(&:name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
このあたりN+1発生するのでは?と思って処理追ってみましたが、app/controllers/schedules_controller.rb
の @schedules
を使っているので多分大丈夫だな、となりました
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:lgtm_poyon:
既存のScheduleモデルでは、track_nameを文字列として保持しているため、ソートのロジックが文字列ソートになる。
文字列では対応できないソートも存在するため、新たにTackモデルを作成し、positionを設定することでソートを可能にした。